// 使用 Layui 模块
layui.use(function(){
    // 文件上传模块
    var upload = layui.upload;
    // 弹出层模块
    var layer = layui.layer;

    // element 模块 - 选项卡、进度条
    var element = layui.element;

    // jquery 模块
    var $ = layui.$;

    // 文件上传 - 图片
    var uploadInst = upload.render({
        // 绑定浏览文件按钮
        elem: '#ID-upload-demo-btn',
        // 实现文件上传的服务器程序（Servlet-Part）。
        url: 'upload_head.do',
        // 设置文件域 name 属性值，默认值为 file
        field:'head_img',

        // 设置允许上传的文件后缀
        exts: 'jpg|png|jpeg|gif',

        // 设计允许上传文件的大小，单位：KB
        size: 200,

        // 设置不自动上传 - 默认是自动上传
        auto:false ,
        // 绑定提交上传的按钮 - 手动上传
        bindAction: '#btn-ok',

        // 文件上传之前要做一些处理 - 预览图片
        before: function(obj){
            // 实现图片的预览，不支持ie8
            obj.preview(function(index, file, result){
                // DOM操作 - result表示的是当前浏览的照片
                $('#ID-upload-demo-img').attr('src', result); // 图片链接（base64）
            });

            // 上传显示进度条
            element.progress('filter-demo', '0%'); // 进度条复位

            // 弹出提示消息
            layer.msg('上传中', {icon: 16, time: 0});
        },

        // 完成上传之后要做一些事情
        done: function(res){
            // 若上传失败
            if(res.code > 0){
                return layer.msg('上传失败');
            }
            // 上传成功的一些操作 ...
            $('#ID-upload-demo-text').html(''); // 置空上传失败的状态
        },

        // 设置上传错误的提示文本
        text:{
            "error": "上传失败"
        },
        // 上传失败时要做一些事件 - Servlet程序必须响应 code = 0 - ResponseData
        error: function(){
            // 演示失败状态，并实现重传
            var demoText = $('#ID-upload-demo-text');
            demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
            demoText.find('.demo-reload').on('click', function(){
                uploadInst.upload();
            });
        },
        // 进度条
        progress: function(n, elem, e){
            element.progress('filter-demo', n + '%'); // 可配合 layui 进度条元素使用
            if(n == 100){
                layer.msg('上传完毕', {icon: 1});
            }
        }
    });


});